package cl.zeke.remoto.negocio.services;

import cl.zeke.remoto.negocio.entities.Perfil;
import cl.zeke.remoto.negocio.entities.Usuario;
import java.util.Date;
import java.util.List;

public interface UsuarioService {
    
    public List<Usuario> traerTodos(); 

    public void guardarUsuario(Usuario usuario);
    
    public void eliminarUsuario(Usuario usuario);
    
    public Usuario traerPorRut(String rutString);
    
    public Usuario traerPorRut(Integer rut);
    
    public List<Usuario> buscar(String nombres, String apellidos, Integer rut, Perfil perfil, String email, Date fechaNacimientoInferior, Date fechaNacimientoSuperior, Boolean habilitado, int first, int fin);
    
    public int buscarRowCount(String nombres, String apellidos, Integer rut, Perfil perfil, String email, Date fechaNacimientoInferior, Date fechaNacimientoSuperior, Boolean habilitado);
    
    public void eliminar(Usuario usuario);
    
    public void habilitar(Usuario usuario);
    
    public void deshabilitar(Usuario usuario);
    
}
